package com.bestcem.xm.om.constant;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * 公用常量
 *
 * @author zhangfeng <feng.zhang@idiaoyan.com>
 * @version v1.0
 * @date 2021/7/16 16:52
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CommonConstant {
    /**
     * mongo 比较是否为null
     */
    public static final Object NULL = null;

    /**
     * 默认返回错误码格式
     */
    public static final String ERROR_MSG_FORMATTER = "%s:%s";

    /**
     * 短信批量发送接口数量限制
     */
    public static final int SMS_BATCH_NUM = 500;

    /**
     * 超时时间
     */
    public static final String MAIL_SMTP_TIMEOUT = "mail.smtp.timeout";

    /**
     * 验证
     */
    public static final String MAIL_SMTP_AUTH = "mail.smtp.auth";

    /**
     * 类
     */
    public static final String MAIL_SMTP_SOCKETFACTORY_CLASS = "mail.smtp.socketFactory.class";
    /**
     * 端口
     */
    public static final String MAIL_SMTP_SOCKETFACTORY_PORT = "mail.smtp.socketFactory.port";

    /**
     * 分隔符
     */
    public static final String SPLIT_COMMA = ",";

    /**
     * python 模板名称
     */
    public static final String PYTHON_TMPLATE_NAME = "PYTHON";

    /**
     * 分号分隔符
     */
    public static final String SPLIT_SEMICOLON = ";";

    /**
     * 邮箱标志
     */
    public static final String MAIL_CONSTANT = "@";

    /**
     * 用于全选时的枚举类
     */
    public static final int ALL = 100;

    /**
     * 全部权限
     */
    public static final String ALL_PERIMISSION = "all";

    /**
     * 套餐过期时间编辑权限
     */
    public static final String EDIT_EXPIRYDT_PERIMISSION = "OM_ACCOUNT.EDIT_EXPIRYDT";

    /**
     * 全部权限标注
     */
    public static final String ALL_PERIMISSION_CONSTANT = "*";

    /**
     * OM线程池
     */
    public static final String OM_EXECUTOR = "omExecutor";

    /**
     * 发送时间格式化
     */
    public static final String SEND_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";

    /**
     * 双十一活动套餐名写死按套餐名匹配
     */
    public static final String TRIAL_1111_PACK_NAME = "专业版双十一特惠";

    /**
     * 订单购买默认激活码
     */
    public static final String ORDER_BUY_TYPE_DEFAULT = "default";
    public static final String ORDER_BUY_TYPE_TRIAL = "A001";
    public static final String ORDER_BUY_TYPE_DISCOUNT = "A002";

    /**
     * 发送状态 status 0：待发送 1：已发送（发送成功） 2：已阅读 3：发送失败
     */
    public static final int NOTIFY_STATUS_WAIT_SEND = 0;
    public static final int NOTIFY_STATUS_IS_SEND = 1;
    public static final int NOTIFY_STATUS_IS_READ = 2;
    public static final int NOTIFY_STATUS_SEND_FAILED = 3;

    /**
     * 消息类型 type 0：手机 1：邮箱
     */
    public static final Integer NOTIFY_TYPE_MOBILE = 0;

    /**
     * 消息类型 type 0：手机 1：邮箱
     */
    public static final Integer NOTIFY_TYPE_EMAIL = 1;

    /**
     * 短信发送渠道 sms_channel 1：亿美 2：创蓝
     */
    public static final int NOTIFY_SMS_CHANNEL_YIMEI = 1;
    public static final int NOTIFY_SMS_CHANNEL_CHUANGLAN = 2;


    /**
     * 用户套餐升级
     */
    public static final String USER_UPGRADE_ORDER = "USER:upgrade_order_";

    /**
     * 用户套餐升级
     */
    public static final int USER_TOKEN_TIMEOUT = 24 * 3600;

    /**
     * 预约申请，创建预约的短信验证码缓存前缀
     */
    public static final String SMS_VC_PREFIX = "USER:Booking";

    public static final String OPERATE_LOG_INFO=" :[%s] -> [%s]";

    /**
     * 导出文件最大数据量
     */
    public static final int EXCEL_MAX_NUM=10000;
}
